<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::ImageGrabberBase类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1_image_grabber_base.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pro-methods">Protected 成员函数</a> &#124;
<a href="#pri-methods">Private 成员函数</a> &#124;
<a href="#pri-attribs">Private 属性</a> &#124;
<a href="classpcl_1_1_image_grabber_base-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::ImageGrabberBase类 参考<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Base class for Image file grabber.  
 <a href="classpcl_1_1_image_grabber_base.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="image__grabber_8h_source.html">image_grabber.h</a>&gt;</code></p>
<div class="dynheader">
类 pcl::ImageGrabberBase 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classpcl_1_1_image_grabber_base.png" usemap="#pcl::ImageGrabberBase_map" alt=""/>
  <map id="pcl::ImageGrabberBase_map" name="pcl::ImageGrabberBase_map">
<area href="classpcl_1_1_grabber.html" title="Grabber interface for PCL 1.x device drivers" alt="pcl::Grabber" shape="rect" coords="0,0,174,24"/>
<area href="classpcl_1_1_image_grabber.html" alt="pcl::ImageGrabber&lt; PointT &gt;" shape="rect" coords="0,112,174,136"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:acb25eefd11e21230e09ad0489e36cce0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#acb25eefd11e21230e09ad0489e36cce0">ImageGrabberBase</a> (const std::string &amp;directory, float frames_per_second, bool repeat, bool pclzf_mode)</td></tr>
<tr class="memdesc:acb25eefd11e21230e09ad0489e36cce0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor taking a folder of depth+[rgb] images.  <a href="classpcl_1_1_image_grabber_base.html#acb25eefd11e21230e09ad0489e36cce0">更多...</a><br /></td></tr>
<tr class="separator:acb25eefd11e21230e09ad0489e36cce0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36b9af38de9f4d6a4a49b639fc84bdb9"><td class="memItemLeft" align="right" valign="top"><a id="a36b9af38de9f4d6a4a49b639fc84bdb9"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>ImageGrabberBase</b> (const std::string &amp;depth_directory, const std::string &amp;rgb_directory, float frames_per_second, bool repeat)</td></tr>
<tr class="separator:a36b9af38de9f4d6a4a49b639fc84bdb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85b43a85a322976d3a5512ee5712da34"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a85b43a85a322976d3a5512ee5712da34">ImageGrabberBase</a> (const std::vector&lt; std::string &gt; &amp;depth_image_files, float frames_per_second, bool repeat)</td></tr>
<tr class="memdesc:a85b43a85a322976d3a5512ee5712da34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor taking a list of paths to PCD files, that are played in the order they appear in the list.  <a href="classpcl_1_1_image_grabber_base.html#a85b43a85a322976d3a5512ee5712da34">更多...</a><br /></td></tr>
<tr class="separator:a85b43a85a322976d3a5512ee5712da34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a214dabef9197dcb3dbb9d0ca0a458463"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a214dabef9197dcb3dbb9d0ca0a458463">ImageGrabberBase</a> (const <a class="el" href="classpcl_1_1_image_grabber_base.html">ImageGrabberBase</a> &amp;src)</td></tr>
<tr class="memdesc:a214dabef9197dcb3dbb9d0ca0a458463"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor.  <a href="classpcl_1_1_image_grabber_base.html#a214dabef9197dcb3dbb9d0ca0a458463">更多...</a><br /></td></tr>
<tr class="separator:a214dabef9197dcb3dbb9d0ca0a458463"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d608ab2247f1ce9d78df3f05ba89133"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpcl_1_1_image_grabber_base.html">ImageGrabberBase</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a3d608ab2247f1ce9d78df3f05ba89133">operator=</a> (const <a class="el" href="classpcl_1_1_image_grabber_base.html">ImageGrabberBase</a> &amp;src)</td></tr>
<tr class="memdesc:a3d608ab2247f1ce9d78df3f05ba89133"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy operator.  <a href="classpcl_1_1_image_grabber_base.html#a3d608ab2247f1ce9d78df3f05ba89133">更多...</a><br /></td></tr>
<tr class="separator:a3d608ab2247f1ce9d78df3f05ba89133"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6f2e355739e03eaabad2656f18ac725"><td class="memItemLeft" align="right" valign="top"><a id="ae6f2e355739e03eaabad2656f18ac725"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#ae6f2e355739e03eaabad2656f18ac725">~ImageGrabberBase</a> ()  throw ()</td></tr>
<tr class="memdesc:ae6f2e355739e03eaabad2656f18ac725"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor. <br /></td></tr>
<tr class="separator:ae6f2e355739e03eaabad2656f18ac725"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c227702c05fdd18b6ee527f3e1b1d71"><td class="memItemLeft" align="right" valign="top"><a id="a7c227702c05fdd18b6ee527f3e1b1d71"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a7c227702c05fdd18b6ee527f3e1b1d71">start</a> ()</td></tr>
<tr class="memdesc:a7c227702c05fdd18b6ee527f3e1b1d71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts playing the list of PCD files if frames_per_second is &gt; 0. Otherwise it works as a trigger: publishes only the next PCD file in the list. <br /></td></tr>
<tr class="separator:a7c227702c05fdd18b6ee527f3e1b1d71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75ad637ea48e1c1d033428f693c78cd5"><td class="memItemLeft" align="right" valign="top"><a id="a75ad637ea48e1c1d033428f693c78cd5"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a75ad637ea48e1c1d033428f693c78cd5">stop</a> ()</td></tr>
<tr class="memdesc:a75ad637ea48e1c1d033428f693c78cd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops playing the list of PCD files if frames_per_second is &gt; 0. Otherwise the method has no effect. <br /></td></tr>
<tr class="separator:a75ad637ea48e1c1d033428f693c78cd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6195667ff230232ea58fdd3ab722077"><td class="memItemLeft" align="right" valign="top"><a id="aa6195667ff230232ea58fdd3ab722077"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#aa6195667ff230232ea58fdd3ab722077">trigger</a> ()</td></tr>
<tr class="memdesc:aa6195667ff230232ea58fdd3ab722077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Triggers a callback with new data <br /></td></tr>
<tr class="separator:aa6195667ff230232ea58fdd3ab722077"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b186edc19a73af202a1aec7fabccecd"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a4b186edc19a73af202a1aec7fabccecd">isRunning</a> () const</td></tr>
<tr class="memdesc:a4b186edc19a73af202a1aec7fabccecd"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether the grabber is started (publishing) or not.  <a href="classpcl_1_1_image_grabber_base.html#a4b186edc19a73af202a1aec7fabccecd">更多...</a><br /></td></tr>
<tr class="separator:a4b186edc19a73af202a1aec7fabccecd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad712c9794c17cf42c18c0c96a6c88c98"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#ad712c9794c17cf42c18c0c96a6c88c98">getName</a> () const</td></tr>
<tr class="separator:ad712c9794c17cf42c18c0c96a6c88c98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72e5e0e79134ba1986a018bf79a0a9c2"><td class="memItemLeft" align="right" valign="top"><a id="a72e5e0e79134ba1986a018bf79a0a9c2"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a72e5e0e79134ba1986a018bf79a0a9c2">rewind</a> ()</td></tr>
<tr class="memdesc:a72e5e0e79134ba1986a018bf79a0a9c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rewinds to the first PCD file in the list. <br /></td></tr>
<tr class="separator:a72e5e0e79134ba1986a018bf79a0a9c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94d28e8cae927e171d0c4e49a0e894e9"><td class="memItemLeft" align="right" valign="top"><a id="a94d28e8cae927e171d0c4e49a0e894e9"></a>
virtual float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a94d28e8cae927e171d0c4e49a0e894e9">getFramesPerSecond</a> () const</td></tr>
<tr class="memdesc:a94d28e8cae927e171d0c4e49a0e894e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the frames_per_second. 0 if grabber is trigger-based <br /></td></tr>
<tr class="separator:a94d28e8cae927e171d0c4e49a0e894e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f325f6e291f89794d0183478e1abee1"><td class="memItemLeft" align="right" valign="top"><a id="a9f325f6e291f89794d0183478e1abee1"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a9f325f6e291f89794d0183478e1abee1">isRepeatOn</a> () const</td></tr>
<tr class="memdesc:a9f325f6e291f89794d0183478e1abee1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the repeat flag is on <br /></td></tr>
<tr class="separator:a9f325f6e291f89794d0183478e1abee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09f94833bdb4dcbdb1633e4fc2d3e04b"><td class="memItemLeft" align="right" valign="top"><a id="a09f94833bdb4dcbdb1633e4fc2d3e04b"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a09f94833bdb4dcbdb1633e4fc2d3e04b">atLastFrame</a> () const</td></tr>
<tr class="memdesc:a09f94833bdb4dcbdb1633e4fc2d3e04b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns if the last frame is reached <br /></td></tr>
<tr class="separator:a09f94833bdb4dcbdb1633e4fc2d3e04b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87ad6bcd55faf0a7c0de7d2dab3168fe"><td class="memItemLeft" align="right" valign="top"><a id="a87ad6bcd55faf0a7c0de7d2dab3168fe"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a87ad6bcd55faf0a7c0de7d2dab3168fe">getCurrentDepthFileName</a> () const</td></tr>
<tr class="memdesc:a87ad6bcd55faf0a7c0de7d2dab3168fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the filename of the current indexed file <br /></td></tr>
<tr class="separator:a87ad6bcd55faf0a7c0de7d2dab3168fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4d0030237e295c51954f88219528510"><td class="memItemLeft" align="right" valign="top"><a id="aa4d0030237e295c51954f88219528510"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#aa4d0030237e295c51954f88219528510">getPrevDepthFileName</a> () const</td></tr>
<tr class="memdesc:aa4d0030237e295c51954f88219528510"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the filename of the previous indexed file SDM: adding this back in, but is this useful, or confusing? <br /></td></tr>
<tr class="separator:aa4d0030237e295c51954f88219528510"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad21fd9f2284e6d98bca24a6ca18aacad"><td class="memItemLeft" align="right" valign="top"><a id="ad21fd9f2284e6d98bca24a6ca18aacad"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#ad21fd9f2284e6d98bca24a6ca18aacad">getDepthFileNameAtIndex</a> (size_t idx) const</td></tr>
<tr class="memdesc:ad21fd9f2284e6d98bca24a6ca18aacad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the depth filename at a particular index <br /></td></tr>
<tr class="separator:ad21fd9f2284e6d98bca24a6ca18aacad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a025c718e7168e87bf4125155fe0eece7"><td class="memItemLeft" align="right" valign="top"><a id="a025c718e7168e87bf4125155fe0eece7"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a025c718e7168e87bf4125155fe0eece7">getTimestampAtIndex</a> (size_t idx, pcl::uint64_t &amp;timestamp) const</td></tr>
<tr class="memdesc:a025c718e7168e87bf4125155fe0eece7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query only the timestamp of an index, if it exists <br /></td></tr>
<tr class="separator:a025c718e7168e87bf4125155fe0eece7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af07aa4cb2417064f6251fab77081194e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#af07aa4cb2417064f6251fab77081194e">setRGBImageFiles</a> (const std::vector&lt; std::string &gt; &amp;rgb_image_files)</td></tr>
<tr class="memdesc:af07aa4cb2417064f6251fab77081194e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Manually set <a class="el" href="structpcl_1_1_r_g_b.html" title="A structure representing RGB color information.">RGB</a> image files.  <a href="classpcl_1_1_image_grabber_base.html#af07aa4cb2417064f6251fab77081194e">更多...</a><br /></td></tr>
<tr class="separator:af07aa4cb2417064f6251fab77081194e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c64efa9741f2c158a1f3a494a2a833a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a1c64efa9741f2c158a1f3a494a2a833a">setCameraIntrinsics</a> (const double focal_length_x, const double focal_length_y, const double principal_point_x, const double principal_point_y)</td></tr>
<tr class="memdesc:a1c64efa9741f2c158a1f3a494a2a833a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define custom focal length and center pixel. This will override ANY other setting of parameters for the duration of the grabber's life, whether by factory defaults or explicitly read from a frame_[timestamp].xml file.  <a href="classpcl_1_1_image_grabber_base.html#a1c64efa9741f2c158a1f3a494a2a833a">更多...</a><br /></td></tr>
<tr class="separator:a1c64efa9741f2c158a1f3a494a2a833a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a768a10439efb2ad98300209afbabc5fa"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a768a10439efb2ad98300209afbabc5fa">getCameraIntrinsics</a> (double &amp;focal_length_x, double &amp;focal_length_y, double &amp;principal_point_x, double &amp;principal_point_y) const</td></tr>
<tr class="memdesc:a768a10439efb2ad98300209afbabc5fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current focal length and center pixel. If the intrinsics have been manually set with setCameraIntrinsics, this will return those values. Else, if start () has been called and the grabber has found a frame_[timestamp].xml file, this will return the most recent values read. Else, returns factory defaults.  <a href="classpcl_1_1_image_grabber_base.html#a768a10439efb2ad98300209afbabc5fa">更多...</a><br /></td></tr>
<tr class="separator:a768a10439efb2ad98300209afbabc5fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32ae91b66b415213ec3b7c29d7e61e49"><td class="memItemLeft" align="right" valign="top"><a id="a32ae91b66b415213ec3b7c29d7e61e49"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a32ae91b66b415213ec3b7c29d7e61e49">setDepthImageUnits</a> (float units)</td></tr>
<tr class="memdesc:a32ae91b66b415213ec3b7c29d7e61e49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the units the depth data is stored in. Defaults to mm (0.001), meaning a brightness of 1000 corresponds to 1 m <br /></td></tr>
<tr class="separator:a32ae91b66b415213ec3b7c29d7e61e49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a407a44537584315830041211b1acd72e"><td class="memItemLeft" align="right" valign="top"><a id="a407a44537584315830041211b1acd72e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a407a44537584315830041211b1acd72e">setNumberOfThreads</a> (unsigned int nr_threads=0)</td></tr>
<tr class="memdesc:a407a44537584315830041211b1acd72e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the number of threads, if we wish to use OpenMP for quicker cloud population. Note that for a standard (&lt; 4 core) machine this is unlikely to yield a drastic speedup. <br /></td></tr>
<tr class="separator:a407a44537584315830041211b1acd72e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1_grabber"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1_grabber')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1_grabber.html">pcl::Grabber</a></td></tr>
<tr class="memitem:ad1bd77c0344f3cf3283757daddb4fe9d inherit pub_methods_classpcl_1_1_grabber"><td class="memItemLeft" align="right" valign="top"><a id="ad1bd77c0344f3cf3283757daddb4fe9d"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_grabber.html#ad1bd77c0344f3cf3283757daddb4fe9d">Grabber</a> ()</td></tr>
<tr class="memdesc:ad1bd77c0344f3cf3283757daddb4fe9d inherit pub_methods_classpcl_1_1_grabber"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:ad1bd77c0344f3cf3283757daddb4fe9d inherit pub_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c8545d6fe2aadc0fe8ba9643f80c1fc inherit pub_methods_classpcl_1_1_grabber"><td class="memItemLeft" align="right" valign="top"><a id="a1c8545d6fe2aadc0fe8ba9643f80c1fc"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_grabber.html#a1c8545d6fe2aadc0fe8ba9643f80c1fc">~Grabber</a> ()  throw ()</td></tr>
<tr class="memdesc:a1c8545d6fe2aadc0fe8ba9643f80c1fc inherit pub_methods_classpcl_1_1_grabber"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual desctructor. <br /></td></tr>
<tr class="separator:a1c8545d6fe2aadc0fe8ba9643f80c1fc inherit pub_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35dc83ee946b0bd5d0a7cbad4df7427b inherit pub_methods_classpcl_1_1_grabber"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a35dc83ee946b0bd5d0a7cbad4df7427b inherit pub_methods_classpcl_1_1_grabber"><td class="memTemplItemLeft" align="right" valign="top">boost::signals2::connection&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpcl_1_1_grabber.html#a35dc83ee946b0bd5d0a7cbad4df7427b">registerCallback</a> (const boost::function&lt; T &gt; &amp;callback)</td></tr>
<tr class="memdesc:a35dc83ee946b0bd5d0a7cbad4df7427b inherit pub_methods_classpcl_1_1_grabber"><td class="mdescLeft">&#160;</td><td class="mdescRight">registers a callback function/method to a signal with the corresponding signature  <a href="classpcl_1_1_grabber.html#a35dc83ee946b0bd5d0a7cbad4df7427b">更多...</a><br /></td></tr>
<tr class="separator:a35dc83ee946b0bd5d0a7cbad4df7427b inherit pub_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed2b00928603dfd9e51cfb22adbedae6 inherit pub_methods_classpcl_1_1_grabber"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:aed2b00928603dfd9e51cfb22adbedae6 inherit pub_methods_classpcl_1_1_grabber"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpcl_1_1_grabber.html#aed2b00928603dfd9e51cfb22adbedae6">providesCallback</a> () const</td></tr>
<tr class="memdesc:aed2b00928603dfd9e51cfb22adbedae6 inherit pub_methods_classpcl_1_1_grabber"><td class="mdescLeft">&#160;</td><td class="mdescRight">indicates whether a signal with given parameter-type exists or not  <a href="classpcl_1_1_grabber.html#aed2b00928603dfd9e51cfb22adbedae6">更多...</a><br /></td></tr>
<tr class="separator:aed2b00928603dfd9e51cfb22adbedae6 inherit pub_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected 成员函数</h2></td></tr>
<tr class="memitem:a424347bebaa99168a01b7caea5403fae"><td class="memItemLeft" align="right" valign="top"><a id="a424347bebaa99168a01b7caea5403fae"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#a424347bebaa99168a01b7caea5403fae">numFrames</a> () const</td></tr>
<tr class="memdesc:a424347bebaa99168a01b7caea5403fae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience function to see how many frames this consists of <br /></td></tr>
<tr class="separator:a424347bebaa99168a01b7caea5403fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4baf7fe44013726b614e60199387176"><td class="memItemLeft" align="right" valign="top"><a id="ae4baf7fe44013726b614e60199387176"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_image_grabber_base.html#ae4baf7fe44013726b614e60199387176">getCloudAt</a> (size_t idx, <a class="el" href="structpcl_1_1_p_c_l_point_cloud2.html">pcl::PCLPointCloud2</a> &amp;blob, Eigen::Vector4f &amp;origin, Eigen::Quaternionf &amp;orientation) const</td></tr>
<tr class="memdesc:ae4baf7fe44013726b614e60199387176"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the cloud in ROS form at location idx <br /></td></tr>
<tr class="separator:ae4baf7fe44013726b614e60199387176"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classpcl_1_1_grabber"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classpcl_1_1_grabber')"><img src="closed.png" alt="-"/>&#160;Protected 成员函数 继承自 <a class="el" href="classpcl_1_1_grabber.html">pcl::Grabber</a></td></tr>
<tr class="memitem:a1eaf930e8f5bc9befdf9e7e3dd85cab3 inherit pro_methods_classpcl_1_1_grabber"><td class="memItemLeft" align="right" valign="top"><a id="a1eaf930e8f5bc9befdf9e7e3dd85cab3"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>signalsChanged</b> ()</td></tr>
<tr class="separator:a1eaf930e8f5bc9befdf9e7e3dd85cab3 inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29a1f6e6e197519b08536b6095d28ccc inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplParams" colspan="2"><a id="a29a1f6e6e197519b08536b6095d28ccc"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a29a1f6e6e197519b08536b6095d28ccc inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplItemLeft" align="right" valign="top">boost::signals2::signal&lt; T &gt; *&#160;</td><td class="memTemplItemRight" valign="bottom"><b>find_signal</b> () const</td></tr>
<tr class="separator:a29a1f6e6e197519b08536b6095d28ccc inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae87e7482328a297a95396467e0e28856 inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplParams" colspan="2"><a id="ae87e7482328a297a95396467e0e28856"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:ae87e7482328a297a95396467e0e28856 inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><b>num_slots</b> () const</td></tr>
<tr class="separator:ae87e7482328a297a95396467e0e28856 inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9ade6bd29a46f6acb411a7968f99ae8 inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplParams" colspan="2"><a id="aa9ade6bd29a46f6acb411a7968f99ae8"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:aa9ade6bd29a46f6acb411a7968f99ae8 inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>disconnect_all_slots</b> ()</td></tr>
<tr class="separator:aa9ade6bd29a46f6acb411a7968f99ae8 inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aceece1bd68187c109b289567c33536b9 inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplParams" colspan="2"><a id="aceece1bd68187c109b289567c33536b9"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:aceece1bd68187c109b289567c33536b9 inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>block_signal</b> ()</td></tr>
<tr class="separator:aceece1bd68187c109b289567c33536b9 inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25c1f3c966c486be2b01fe11d2d0df5a inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplParams" colspan="2"><a id="a25c1f3c966c486be2b01fe11d2d0df5a"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a25c1f3c966c486be2b01fe11d2d0df5a inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>unblock_signal</b> ()</td></tr>
<tr class="separator:a25c1f3c966c486be2b01fe11d2d0df5a inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a023e6b7d7c8ebc27d59e7076162c4c73 inherit pro_methods_classpcl_1_1_grabber"><td class="memItemLeft" align="right" valign="top"><a id="a023e6b7d7c8ebc27d59e7076162c4c73"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>block_signals</b> ()</td></tr>
<tr class="separator:a023e6b7d7c8ebc27d59e7076162c4c73 inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57fa6746fd5521b7cfe27b7847778969 inherit pro_methods_classpcl_1_1_grabber"><td class="memItemLeft" align="right" valign="top"><a id="a57fa6746fd5521b7cfe27b7847778969"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>unblock_signals</b> ()</td></tr>
<tr class="separator:a57fa6746fd5521b7cfe27b7847778969 inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e1ee7a265cee458f59414de47a34ed2 inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplParams" colspan="2"><a id="a3e1ee7a265cee458f59414de47a34ed2"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a3e1ee7a265cee458f59414de47a34ed2 inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplItemLeft" align="right" valign="top">boost::signals2::signal&lt; T &gt; *&#160;</td><td class="memTemplItemRight" valign="bottom"><b>createSignal</b> ()</td></tr>
<tr class="separator:a3e1ee7a265cee458f59414de47a34ed2 inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private 成员函数</h2></td></tr>
<tr class="memitem:aa13d53c6675c2fb93a90262daa939675"><td class="memItemLeft" align="right" valign="top"><a id="aa13d53c6675c2fb93a90262daa939675"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>publish</b> (const <a class="el" href="structpcl_1_1_p_c_l_point_cloud2.html">pcl::PCLPointCloud2</a> &amp;blob, const Eigen::Vector4f &amp;origin, const Eigen::Quaternionf &amp;orientation) const =0</td></tr>
<tr class="separator:aa13d53c6675c2fb93a90262daa939675"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private 属性</h2></td></tr>
<tr class="memitem:ab3172f5a497332db05a6cb6f8bb22703"><td class="memItemLeft" align="right" valign="top"><a id="ab3172f5a497332db05a6cb6f8bb22703"></a>
ImageGrabberImpl *&#160;</td><td class="memItemRight" valign="bottom"><b>impl_</b></td></tr>
<tr class="separator:ab3172f5a497332db05a6cb6f8bb22703"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
额外继承的成员函数</h2></td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1_grabber"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1_grabber')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1_grabber.html">pcl::Grabber</a></td></tr>
<tr class="memitem:a0e74a0908693c0c948452476d0102dac inherit pro_attribs_classpcl_1_1_grabber"><td class="memItemLeft" align="right" valign="top"><a id="a0e74a0908693c0c948452476d0102dac"></a>
std::map&lt; std::string, boost::signals2::signal_base * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>signals_</b></td></tr>
<tr class="separator:a0e74a0908693c0c948452476d0102dac inherit pro_attribs_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63415b3517806c488fa840c54cacb5ad inherit pro_attribs_classpcl_1_1_grabber"><td class="memItemLeft" align="right" valign="top"><a id="a63415b3517806c488fa840c54cacb5ad"></a>
std::map&lt; std::string, std::vector&lt; boost::signals2::connection &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>connections_</b></td></tr>
<tr class="separator:a63415b3517806c488fa840c54cacb5ad inherit pro_attribs_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d8b3dcbecbe76b1f58978ed1b3a222f inherit pro_attribs_classpcl_1_1_grabber"><td class="memItemLeft" align="right" valign="top"><a id="a9d8b3dcbecbe76b1f58978ed1b3a222f"></a>
std::map&lt; std::string, std::vector&lt; boost::signals2::shared_connection_block &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>shared_connections_</b></td></tr>
<tr class="separator:a9d8b3dcbecbe76b1f58978ed1b3a222f inherit pro_attribs_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>Base class for Image file grabber. </p>
</div><h2 class="groupheader">构造及析构函数说明</h2>
<a id="acb25eefd11e21230e09ad0489e36cce0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb25eefd11e21230e09ad0489e36cce0">&#9670;&nbsp;</a></span>ImageGrabberBase() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">pcl::ImageGrabberBase::ImageGrabberBase </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>directory</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>frames_per_second</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>repeat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>pclzf_mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor taking a folder of depth+[rgb] images. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">directory</td><td>Directory which contains an ordered set of images corresponding to an [<a class="el" href="structpcl_1_1_r_g_b.html" title="A structure representing RGB color information.">RGB</a>]D video, stored as TIFF, PNG, JPG, or PPM files. The naming convention is: frame_[timestamp]_["depth"/"rgb"].[extension] </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">frames_per_second</td><td>frames per second. If 0, <a class="el" href="classpcl_1_1_image_grabber_base.html#a7c227702c05fdd18b6ee527f3e1b1d71" title="Starts playing the list of PCD files if frames_per_second is &gt; 0. Otherwise it works as a trigger: pu...">start()</a> functions like a trigger, publishing the next PCD in the list. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>whether to play PCD file in an endless loop or not. </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">pclzf_mode</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a85b43a85a322976d3a5512ee5712da34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85b43a85a322976d3a5512ee5712da34">&#9670;&nbsp;</a></span>ImageGrabberBase() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">pcl::ImageGrabberBase::ImageGrabberBase </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>depth_image_files</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>frames_per_second</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>repeat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor taking a list of paths to PCD files, that are played in the order they appear in the list. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">depth_image_files</td><td>Path to the depth image files files. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">frames_per_second</td><td>frames per second. If 0, <a class="el" href="classpcl_1_1_image_grabber_base.html#a7c227702c05fdd18b6ee527f3e1b1d71" title="Starts playing the list of PCD files if frames_per_second is &gt; 0. Otherwise it works as a trigger: pu...">start()</a> functions like a trigger, publishing the next PCD in the list. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>whether to play PCD file in an endless loop or not. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a214dabef9197dcb3dbb9d0ca0a458463"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a214dabef9197dcb3dbb9d0ca0a458463">&#9670;&nbsp;</a></span>ImageGrabberBase() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">pcl::ImageGrabberBase::ImageGrabberBase </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1_image_grabber_base.html">ImageGrabberBase</a> &amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy constructor. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>the Image <a class="el" href="classpcl_1_1_grabber.html" title="Grabber interface for PCL 1.x device drivers">Grabber</a> base object to copy into this </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                                                   : <a class="code" href="classpcl_1_1_grabber.html#ad1bd77c0344f3cf3283757daddb4fe9d">Grabber</a> (), impl_ ()</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    {</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      *<span class="keyword">this</span> = src;</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    }</div>
<div class="ttc" id="aclasspcl_1_1_grabber_html_ad1bd77c0344f3cf3283757daddb4fe9d"><div class="ttname"><a href="classpcl_1_1_grabber.html#ad1bd77c0344f3cf3283757daddb4fe9d">pcl::Grabber::Grabber</a></div><div class="ttdeci">Grabber()</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> grabber.h:63</div></div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="a768a10439efb2ad98300209afbabc5fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a768a10439efb2ad98300209afbabc5fa">&#9670;&nbsp;</a></span>getCameraIntrinsics()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void pcl::ImageGrabberBase::getCameraIntrinsics </td>
          <td>(</td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"><em>focal_length_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"><em>focal_length_y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"><em>principal_point_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"><em>principal_point_y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the current focal length and center pixel. If the intrinsics have been manually set with setCameraIntrinsics, this will return those values. Else, if start () has been called and the grabber has found a frame_[timestamp].xml file, this will return the most recent values read. Else, returns factory defaults. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">focal_length_x</td><td>Horizontal focal length (fx) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">focal_length_y</td><td>Vertical focal length (fy) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">principal_point_x</td><td>Horizontal coordinates of the principal point (cx) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">principal_point_y</td><td>Vertical coordinates of the principal point (cy) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ad712c9794c17cf42c18c0c96a6c88c98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad712c9794c17cf42c18c0c96a6c88c98">&#9670;&nbsp;</a></span>getName()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::string pcl::ImageGrabberBase::getName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>返回</dt><dd>The name of the grabber </dd></dl>

<p>实现了 <a class="el" href="classpcl_1_1_grabber.html#af5765700b48bea8865af2f90e46ea3e6">pcl::Grabber</a>.</p>

</div>
</div>
<a id="a4b186edc19a73af202a1aec7fabccecd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b186edc19a73af202a1aec7fabccecd">&#9670;&nbsp;</a></span>isRunning()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool pcl::ImageGrabberBase::isRunning </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>whether the grabber is started (publishing) or not. </p>
<dl class="section return"><dt>返回</dt><dd>true only if publishing. </dd></dl>

<p>实现了 <a class="el" href="classpcl_1_1_grabber.html#ae3a9df18b055d26ba339dc9fac408a7f">pcl::Grabber</a>.</p>

</div>
</div>
<a id="a3d608ab2247f1ce9d78df3f05ba89133"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d608ab2247f1ce9d78df3f05ba89133">&#9670;&nbsp;</a></span>operator=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpcl_1_1_image_grabber_base.html">ImageGrabberBase</a>&amp; pcl::ImageGrabberBase::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classpcl_1_1_image_grabber_base.html">ImageGrabberBase</a> &amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy operator. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>the Image <a class="el" href="classpcl_1_1_grabber.html" title="Grabber interface for PCL 1.x device drivers">Grabber</a> base object to copy into this </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    {</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;      impl_ = src.impl_;</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;      <span class="keywordflow">return</span> (*<span class="keyword">this</span>);</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a1c64efa9741f2c158a1f3a494a2a833a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c64efa9741f2c158a1f3a494a2a833a">&#9670;&nbsp;</a></span>setCameraIntrinsics()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void pcl::ImageGrabberBase::setCameraIntrinsics </td>
          <td>(</td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>focal_length_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>focal_length_y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>principal_point_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&#160;</td>
          <td class="paramname"><em>principal_point_y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Define custom focal length and center pixel. This will override ANY other setting of parameters for the duration of the grabber's life, whether by factory defaults or explicitly read from a frame_[timestamp].xml file. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">focal_length_x</td><td>Horizontal focal length (fx) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">focal_length_y</td><td>Vertical focal length (fy) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">principal_point_x</td><td>Horizontal coordinates of the principal point (cx) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">principal_point_y</td><td>Vertical coordinates of the principal point (cy) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="af07aa4cb2417064f6251fab77081194e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af07aa4cb2417064f6251fab77081194e">&#9670;&nbsp;</a></span>setRGBImageFiles()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::ImageGrabberBase::setRGBImageFiles </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>rgb_image_files</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Manually set <a class="el" href="structpcl_1_1_r_g_b.html" title="A structure representing RGB color information.">RGB</a> image files. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rgb_image_files</td><td>A vector of [tiff/png/jpg/ppm] files to use as input. There must be a 1-to-1 correspondence between these and the depth images you set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>io/include/pcl/io/<a class="el" href="image__grabber_8h_source.html">image_grabber.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><a class="el" href="classpcl_1_1_image_grabber_base.html">ImageGrabberBase</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
